package com.swak.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.stereotype.Service;

import com.swak.utils.StringUtils;

/**
 * 命令的定义
 *
 * @author: lifeng
 * @date: 2020/3/28 17:14
 */
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Service
public @interface Cmd {

	/**
	 * @return 命令的名称
	 */
	String name() default StringUtils.EMPTY;

	/**
	 * @return 命令的描述
	 */
	String summary() default StringUtils.EMPTY;

	/**
	 * Command example
	 *
	 * @return command example
	 */
	String[] example() default {};

	/**
	 * @return 默认的处理方式
	 */
	String method() default "handle";
}